export default {
  // 开启命名空间
  namespaced: true,
  // state 暂存共享数据的地方
  state: {
    count: 0
  },
  // mutations里面存放的是修改state数据的函数，也只有mutations里面的函数可以修改
  mutations: {
    changeCount (state) {
      state.count += 1
    },
    change (state) {
      state.count = 100
    }
  },
  // actions里面放的是触发mutations的函数，他还能执行异步操作
  actions: {
    triggerChangeCount ({ commit }) {
      setTimeout(() => {
        commit('changeCount')
      }, 2000)
    }
  },
  // getters 类似于计算属性，根据state中的值的变化计算得到一个新的属性
  getters: {
    evenOrOdd (state) {
      return state.count % 2 === 0 ? '偶数' : '奇数'
    }
  }
}
